package erfgame.frontend.desktop.view.terrain.iso.interaction;

import erfgame.core.Point3D;
import erfgame.core.entity.Entity;
import erfgame.core.entity.EntityByTypeFactory;
import erfgame.core.entity.EntityType;
import erfgame.core.world.WorldDAOManager;

import erfgame.frontend.desktop.view.terrain.iso.IsometricTerrainView;

public class EntityDroppingEntityInteractionFactory implements
		EntityInteractionFactory {

	private EntityType entityType;
	private EntityByTypeFactory entityFactory;
	private IsometricTerrainView view;
	private WorldDAOManager worldDAOManager;
	
	public EntityDroppingEntityInteractionFactory( 
			EntityType entityType, 
			EntityByTypeFactory entityFactory,
			IsometricTerrainView view, 
			WorldDAOManager worldDAOManager ) {
		this.entityType = entityType;
		this.entityFactory = entityFactory;
		this.view = view;
		this.worldDAOManager = worldDAOManager;
	}
	
	public Interaction createInteraction(Entity entity, Point3D terrain) {
		return new EntityDroppingInteraction(
				terrain, 
				entityType, 
				entityFactory, 
				view, 
				worldDAOManager
		);
	}

}
